/*
 * Copyright (c) 2020 hebeiyiliuba.com
 * All rights reserved.
 *
 */
package org.jeecg.modules.third.jg.gd.report.dto;

import lombok.Data;
import lombok.experimental.Accessors;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import java.io.Serializable;

/**
 * 运单信息
 *
 * @author duanlikao
 * @created 2021/7/29
 */
@Data
@XmlAccessorType(XmlAccessType.FIELD)
@Accessors(chain = true)
public class StOrderDTO  implements Serializable {

    @XmlElement
    private String	originalDocumentNumber;//	原始单号	1..1	an..35	上游企业委托运输单号
    @XmlElement
    private String	shippingNoteNumber;//	托运单号	1..1	an..20	网络货运电子单号
    @XmlElement
    private String	serialNumber;//	分段分单号	1..1	an..4	必填，分段运输和多车运输由四位数字组成，前两位代表一单多车的序号，后两位代表分段序号。若运输形式为一单一车填0000。
    @XmlElement
    private Integer	vehicleCount	;//运输总车辆数	1..1	n..4	必填，同一运单号的货物总共使用的运输车辆总数。
    @XmlElement
    private Integer	transportTypeCode;//	运输组织类型代码	1..1	n..2	必填，参照部代码集。
    @XmlElement
    private String	transportationComb	;//运输组织	1..1	an..20	运输组织分为传统运输、多式联运、甩挂运输、共同配送
    @XmlElement
    private String	carrier	;//承运人	1..1	an..512	网络货运企业名称
    @XmlElement
    private String	unifiedSocialCreditIdentifier;//	统一社会信用代码	1..1	an18	必填
    @XmlElement
    private String	permitNumber	;//道路运输经营许可证编号	1..1	an..50	必填，网络货运经营者的道路运输经营许可证编号。
    @XmlElement
    private Long	consignmentDateTime;//	托运日期时间	1..1	n14	网络货运系统正式生成运单的日期时间，YYYYMMDDhhmmss
    @XmlElement
    private String	businessTypeCode;//	业务类型代码	1..1	an..7	必填，参照部代码集。
    @XmlElement
    private Long	despatchActualDateTime	;//发运实际日期时间	1..1	n14	货物装车后的发车时间YYYYMMDDhhmmss
    @XmlElement
    private Long	goodsReceiptDateTime	;//收货日期时间	1..1	n14	货物运到后的签收时间，如签收时间无法确定，填货物运到收货地的时间YYYYMMDDhhmmss
    @XmlElement
    private String	consignor	;//发货人	1..1	an..512	填单位或个人，如集装箱运输业务无法明确实际发货人可填写货代信息
    @XmlElement
    private String	consignorID	;//托运人统一社会信用代码或个人证件号	1..1	an..35	必填。
    @XmlElement
    private String	placeOfLoadingDeliProvince	;//装货地点-省份	1..1	an..80	实际装货的省份，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	placeOfLoadingDeliCity	;//装货地点-地市	1..1	an..88	实际装货的地级市，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	placeOfLoadingDeliDistrict	;//装货地点-区县	1..1	an..88	实际装货的区县，，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	placeOfLoadingDeliAddress	;//装货地点-详细地址	1..1	an..512	实际装货的详细地址，必填
    @XmlElement
    private String	deliCountrySubdivisionCode	;//装货地点-区划代码	1..1	an..12	必填，参照GB/T 2260《中华人民共和国行政区划代码》的代码，精确的区县
    @XmlElement
    private String	consignee	;//收货人	1..1	an..512	填写单位或个人
    @XmlElement
    private String	consigneeID	;//收货方统一社会信用代码或个人证件号码	0..1	an..35	选填。
    @XmlElement
    private String	goodsReceiptPlaceProvince;//	收货地点-省份	1..1	an..80	实际装货的省份，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	goodsReceiptPlaceCity	;//收货地点-地市	1..1	an..88	实际装货的地级市，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	goodsReceiptPlaceDistrict	;//收货地点-区县	1..1	an..88	实际装货的区县，，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	goodsReceiptPlaceAddress	;//收货地点-详细地址	1..1	an..512	实际装货的详细地址，必填
    @XmlElement
    private String	receiptCountrySubdivisionCode	;//收货地点-区划代码	1..1	an..12	必填，参照GB/T 2260《中华人民共和国行政区划代码》的代码，精确的区县
    @XmlElement
    private Double	totalMonetaryAmount	;//货币总金额（元）	1..1	n..18,3	货币总金额指托运人付给网络货运企业的运输费用，货币单位为人民币，保留3位小数，如整数的话，以.000填充。如是一笔业务分几辆车运，需将托运人针对这笔业务付给网络货运企业的运输费用分摊到每辆车上。
    @XmlElement
    private String	vehicleNumber	;//车辆牌照号	1..1	an..35	必填。
    @XmlElement
    private String	vehiclePlateColorCode	;//车牌颜色代码	1..1	an..2	必填。参照部代码集。
    @XmlElement
    private Long	vehicleDespatchActualDateTime	;//发货日期时间	0..1	n14	如果为分段运输必填，本车的发货时间YYYYMMDDhhmmss
    @XmlElement
    private Long	vehicleGoodsReceiptDateTime	;//收货日期时 间	0..1	n14	如果为分段运输必填，本车的发货时间YYYYMMDDhhmmss
    @XmlElement
    private String	vehiclePlaceOfLoadingDeliProvince	;//装货地点-省份	0..1	an..80	如果为分段运输必填，本车的实际装货的省份，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	vehiclePlaceOfLoadingDeliCity;//	装货地点-地市	0..1	an..88	如果为分段运输必填，本车的实际装货的地级市，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	vehiclePlaceOfLoadingDeliDistrict;//	装货地点-区县	0..1	an..88	如果为分段运输必填，本车的实际装货的区县，中文名称，参照GB T2260-2013 中华人民共和国行政区
    @XmlElement
    private String	vehiclePlaceOfLoadingDeliAddress;//	装货地点-详细地址	0..1	an..512	如果为分段运输必填，本车的实际装货的详细地址
    @XmlElement
    private String	vehicleDeliCountrySubdivisionCode;//	装货地点-区划代码	0..1	an..12	如果为分段运输必填，本车的实际装货的区划代码，参照GB/T 2260《中华人民共和国行政区划代码》的代码，精确的区县
    @XmlElement
    private StDriverDTO stDriver	;//驾驶员信息	1..n

	@XmlElement
    private  StOrderGoodsDTO stOrderGoods;//	货物信息	1..n

    @XmlElement
    private String	actualCarrier	;//实际承运人信息-实际承运人	1..1	an..256	必填，与网络货运经营者签订运输合同，实际完成运输的经营者。 取得道路运输经营许可证的个体运输业户，直接填写“许可证上的业户名称”；其他情况填写“运输公司名称（合同签订人姓名）”。
    @XmlElement
    private String	actualType	;//实际承运人信息-企业类型	1..1	an..512	如果为个体司机，企业类型为个体
    @XmlElement
    private String	carrierRegisterPlace	;//实际承运人信息-注册地	1..1	an..512	如果为个体司机，注册地按营运车辆车籍地填写
    @XmlElement
    private String	carrierPermitNumber;//	实际承运人信息-道路运输经营许可证编号	1..1	an..256	必填，实际承运人的道路运输经营许可证编号，网络货运经营者整合车辆全部为总质量4.5吨及以下普通货车车辆的，可填“车籍地6位行政区域代码+000000”。
    @XmlElement
    private String	actualCarrierID	;//实际承运人统一社会信用代码或证件号码	1..1	an..50	必填。
    @XmlElement
    private String	carrierBusinessRange	;//实际承运人信息-道路运输经营范围	0..1	an..512	企业必填
    @XmlElement
    private Long	carrierAduitTime	;//实际承运人信息-通过平台审核日期	1..1	n14	YYYYMMDDhhmmss
    @XmlElement
    private Double	travelDistance	;//行驶距离（公里）	0..1	n..9,2	以千米为单位，保留2位小数
    @XmlElement
    private Double	transportDistance;//	运输距离（公里）	1..1	n..9,2	以千米为单位，保留2位小数
    @XmlElement
    private String	policyNumber	;//保险单号	1..1	an..30	必填，未投保的，可填“none”。
    @XmlElement
    private String	insuranceCompanyCode	;//保险公司代码	1..1	an..30	必填，参照部代码集。未投保的，可填“none”。
    @XmlElement
    private String	remark	;//费用信息备注	0..1	an..256
    @XmlElement
    private Integer	pstatus ;//	运单标记	1..1	n..1	0表示需上传国家平台，-1表示无需上传国家平台。
    @XmlElement
    private String	freeText	;//自由文本	0..1
    @XmlElement
    private String	senderCode	;//物流交换代码	1..1	an..20	企业物流交换代码

}
